This invention relates to the field of simulation systems, and in particular to a network simulator that is configured to model wireless networks.
The simulation of networks to predict performance, identify bottlenecks, assess possible changes, and so on, is common in the art. In wired networks, parameters such as propagation delay, error rates, reliability, and so on, are fairly constant for a given communications link. In a wireless network, however, such parameters can vary substantially with time, particularly in a wireless network with mobile transceivers. The simulation of wireless transmissions requires, for example, the computation of a set of characteristics to determine whether a communication can take place between a transmitter and receiver, including, for example, the current distance between the transmitter and receiver, interference between the transmitter and receiver, the current power level of the transmitter, and so on. These characteristics also affect the determination of whether the receiver obtains a valid copy of the transmission, the degree of interference on other communications caused by the transmission, and other factors that are used to assess the overall performance of the network.
The conventional simulation of a system is accomplished by generating sample events, then propagating each event from node to node in the system. That is, for example, consider an event that is a new message generated at node A and addressed to node B. Consider, also that node X is between nodes A and B. The transmitted message from node A is simulated as arriving at node X at some time after its transmission from A, then simulated as being processed by node X, incurring, for example, a queuing delay at node X, and a subsequent transmission to node B at a following time. The transmitted message from node X is simulated as arriving at node B at some time later, processed at node B, including queuing or other delays, as appropriate. By propagating the message in this manner, the total delay time from transmission at node A to completed reception at node B can be determined. Other phenomena can also be modeled. For example, random requests for retransmissions can be generated based on simulated noise levels, increasing queue delays can be simulated based on increased traffic, and so on. In like manner, the models of each node can be changed to determine the effect of the change on the system performance. For example, the propagation delay time between node A and B can be determined as a function of the size of buffers, or the type of processor, at node X, to determine whether changes should be made at node X.
Because simulation is an iterative process of propagating simulated events and subsequent internal events caused by the simulated events, a simulation of a moderately complex network can be extremely time consuming. An increase in the time required to simulate the propagation an event at a node can have a substantial effect on the time required to simulate a system. Because each transmission at a wireless node requires the aforementioned determination of potentially changing characteristics, the simulation of a wireless network is generally significantly slower than the simulation of a similar-size wired network.
It is an object of this invention to reduce the time required to simulate a wireless network. It is a further object of this invention to reduce the time required to simulate a wireless network without substantially modifying the structure of a conventional simulation system.
These objects, and others, are achieved by a simulation system that includes a cache structure that stores determined characteristics related to the propagation of an event. If a similar event occurs, and the factors affecting the determination of these characteristics have not changed, the characteristics associated with the new event are retrieved from the cache, rather than being re-determined from the underlying factors. In the example of mobile transceivers, if multiple transceivers share a common set of underlying factors, the determined characteristics of one transceiver can be shared among all of the other transceivers. If the underlying factors are dependent upon geographic area, mobile transceivers that enter a geographic area having associated cached characteristics can use the cached characteristics of other transceivers that are, or had been, in the area. Because the cache process is structured to intercept a call to the routine that determines the characteristics, pass the call to the routine if the characteristics have not yet been determined for the given set of underlying factors, and store the results from the routine for potential subsequent use, the modifications to a simulation system to incorporate this caching feature should be minimal.
Throughout the drawings, the same reference numerals indicate similar or corresponding features or functions.